1 Transects

Plant Flowers Date lon lat ele Month Year julian
Glossoloma oblongicalyx 4 2015-10-19 -78.59093 0.130838 2270 October 2015 292
Gasteranthus quitensis 2 2016-10-17 -78.59770 0.120070 1940 October 2016 291
Kohleria affinis 1 2016-12-13 -78.59534 0.126746 2110 December 2016 348
Columnea ciliata 3 2014-02-27 -78.59934 0.116682 1960 February 2014 58
Columnea medicinalis 1 2014-04-23 -78.59372 0.128700 2130 April 2014 113
Drymonia teuscheri 3 2016-07-28 -78.59245 0.129393 2200 July 2016 210

2 Phylogeny

3 Traits

Plant Flowers Date lon lat ele Month Year julian
Glossoloma oblongicalyx 4 2015-10-19 -78.59093 0.130838 2270 October 2015 292
Gasteranthus quitensis 2 2016-10-17 -78.59770 0.120070 1940 October 2016 291
Kohleria affinis 1 2016-12-13 -78.59534 0.126746 2110 December 2016 348
Columnea ciliata 3 2014-02-27 -78.59934 0.116682 1960 February 2014 58
Columnea medicinalis 1 2014-04-23 -78.59372 0.128700 2130 April 2014 113
Drymonia teuscheri 3 2016-07-28 -78.59245 0.129393 2200 July 2016 210

3.0.1 Total Flowers

3.1 Peak date

3.2 Infer absences

3.3 Species elevation ranges

3.4 Species by transect matrix

4 Count model of species phenology

## sink("model/occ_baseline.jags")
## cat("
##     model {
##     
##     for (x in 1:Nobs){
##     
##     #Observation of a flowering plant
##     Y[x] ~ dbern(alpha[Plant[x]])
##     
##     #Residuals
##     discrepancy[x] <- pow(Y[x] - alpha[Plant[x]],2)
##     
##     #Assess Model Fit
##     Ynew[x] ~ dbern(alpha[Plant[x]])
##     discrepancy.new[x]<-pow(Ynew[x] - alpha[Plant[x]],2)
##     
##     }
##     
##     #Sum discrepancy
##     fit<-sum(discrepancy)
##     fitnew<-sum(discrepancy.new)
##     
##     #Prediction
##     
##     for(i in 1:Npreds){
##     
##     #predict value
##     
##     #Observation - probability of flowering
##     prediction[i] ~ dbern(alpha[Ypred_plant[i]])
##     
##     #squared predictive error
##     pred_error[i] <- pow(Ypred[i] - prediction[i],2)
##     }
##     
##     #Predictive Error
##     fitpred<-sum(pred_error)
##     
##     #Priors
##     
##     #Species level priors
##     
##     for (j in 1:Plants){
##     
##     #Intercept
##     #Intercept flowering count
##     alpha[j] ~ dbeta(1,1)
##     
##     } 
##     
##     }
##     ",fill=TRUE)
## 
## sink()
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 2926
##    Unobserved stochastic nodes: 3444
##    Total graph size: 17231
## 
## Initializing model

4.0.1 Evaluate convergence

4.0.2 Posterior estimates

4.0.3 Error by elevation for estimated data

5 Phylogeny

5.1 Attraction

## sink("model/occ_attraction.jags")
## cat("
##     model {
##     
##     for (x in 1:Nobs){
##     
##       #Observation of a flowering plant
##       Y[x] ~ dbern(p[x])
##       logit(p[x]) <- alpha[Plant[x]] + e[Plant[x],Date[x]]
##   
##       #Residuals
##       discrepancy[x] <- pow(Y[x] - alpha[Plant[x]],2)
##       
##       #Assess Model Fit
##       Ynew[x] ~ dbern(p[x])
##       discrepancy.new[x]<-pow(Ynew[x] - alpha[Plant[x]],2)
##     
##     }
##     
##     #Sum discrepancy
##     fit<-sum(discrepancy)
##     fitnew<-sum(discrepancy.new)
##     
##     #Prediction
##     
##     for(i in 1:Npreds){
##     
##     #predict value
##     
##     #Observation - probability of flowering
##     prediction[i] ~ dbern(p_new[i])
##     logit(p_new[i])<-alpha[Ypred_plant[i]] + e[Ypred_plant[i],Ypred_date[i]]
##     
##     #squared predictive error
##     pred_error[i] <- pow(Ypred[i] - prediction[i],2)
##     }
##     
##     #Predictive Error
##     fitpred<-sum(pred_error)
##     
##     #########################
##     #autocorrelation in error
##     #########################
##     
##     #For each of observation
##     for(k in 1:Dates){
##       e[1:Plants,k] ~ dmnorm(zeros[],tauC[,])
##     }
##     
##     ##covariance among similiar species
##     for(i in 1:Plants){
##     for(j in 1:Plants){
##     C[i,j] = exp(-lambda_cov * D[i,j])
##     }
##     }
##     
##     ## Covert variance to precision for each parameter, allow omega to shrink to identity matrix
##     vCov = omega*C[,] + (1-omega) * I
##     tauC=inverse(vCov*gamma)
##     
##     #Priors
##     
##     #Species level priors
##     
##     for (j in 1:Plants){
##     
##     #Intercept
##     #Intercept flowering count
##     alpha[j] ~ dnorm(0,0.386)
##     
##     } 
##     
##     #Autocorrelation priors
##     gamma ~ dunif(0,20)
##     
##     #Strength of covariance decay
##     lambda_cov = 5
##     omega ~ dbeta(1,1)
##     }
##     ",fill=TRUE)
## 
## sink()
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 2926
##    Unobserved stochastic nodes: 3691
##    Total graph size: 31647
## 
## Initializing model

6 Get Chains

6.0.1 Evaluate convergence

6.0.2 Posterior estimates

6.1 Decay in phylogenetic attraction

6.2 Repulsion

## sink("model/occ_repulsion.jags")
## cat("
##     model {
##     
##     for (x in 1:Nobs){
##     
##     #Observation of a flowering plant
##     Y[x] ~ dbern(p[x])
##     logit(p[x]) <- alpha[Plant[x]] + e[Plant[x],Date[x]]
##     
##     #Residuals
##     discrepancy[x] <- pow(Y[x] - alpha[Plant[x]],2)
##     
##     #Assess Model Fit
##     Ynew[x] ~ dbern(p[x])
##     discrepancy.new[x]<-pow(Ynew[x] - alpha[Plant[x]],2)
##     
##     }
##     
##     #Sum discrepancy
##     fit<-sum(discrepancy)
##     fitnew<-sum(discrepancy.new)
##     
##     #Prediction
##     
##     for(i in 1:Npreds){
##     
##     #predict value
##     
##     #Observation - probability of flowering
##     prediction[i] ~ dbern(p_new[i])
##     logit(p_new[i])<-alpha[Ypred_plant[i]] + e[Ypred_plant[i],Ypred_date[i]]
##     
##     #squared predictive error
##     pred_error[i] <- pow(Ypred[i] - prediction[i],2)
##     }
##     
##     #Predictive Error
##     fitpred<-sum(pred_error)
##     
##     #########################
##     #autocorrelation in error
##     #########################
##     
##     #For each of observation
##     for(k in 1:Dates){
##     e[1:Plants,k] ~ dmnorm(zeros[],tauC[,])
##     }
##     
##     ##covariance among similiar species
##     for(i in 1:Plants){
##     for(j in 1:Plants){
##     C[i,j] = exp(-lambda_cov * D[i,j])
##     }
##     }
##     
##     ## Covert variance to precision for each parameter, allow omega to shrink to identity matrix
##     vCov = omega*C[,] + (1-omega) * I
##     tauC=vCov*gamma
##     
##     #Priors
##     
##     #Species level priors
##     
##     for (j in 1:Plants){
##     
##     #Intercept
##     #Intercept flowering count
##     alpha[j] ~ dnorm(0,0.386)
##     
##     } 
##     
##     #Autocorrelation priors
##     gamma ~ dunif(0,20)
##     
##     #Strength of covariance decay
##     lambda_cov = 5
##     omega ~ dbeta(1,1)
##     }
##     ",fill=TRUE)
## 
## sink()
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 2926
##    Unobserved stochastic nodes: 3691
##    Total graph size: 31646
## 
## Initializing model

7 Get Chains

7.0.1 Evaluate convergence

7.0.2 Posterior estimates

7.1 Decay in phylogenetic repulsion

8 Traits

8.1 Trait Attraction

## sink("model/occ_attraction.jags")
## cat("
##     model {
##     
##     for (x in 1:Nobs){
##     
##       #Observation of a flowering plant
##       Y[x] ~ dbern(p[x])
##       logit(p[x]) <- alpha[Plant[x]] + e[Plant[x],Date[x]]
##   
##       #Residuals
##       discrepancy[x] <- pow(Y[x] - alpha[Plant[x]],2)
##       
##       #Assess Model Fit
##       Ynew[x] ~ dbern(p[x])
##       discrepancy.new[x]<-pow(Ynew[x] - alpha[Plant[x]],2)
##     
##     }
##     
##     #Sum discrepancy
##     fit<-sum(discrepancy)
##     fitnew<-sum(discrepancy.new)
##     
##     #Prediction
##     
##     for(i in 1:Npreds){
##     
##     #predict value
##     
##     #Observation - probability of flowering
##     prediction[i] ~ dbern(p_new[i])
##     logit(p_new[i])<-alpha[Ypred_plant[i]] + e[Ypred_plant[i],Ypred_date[i]]
##     
##     #squared predictive error
##     pred_error[i] <- pow(Ypred[i] - prediction[i],2)
##     }
##     
##     #Predictive Error
##     fitpred<-sum(pred_error)
##     
##     #########################
##     #autocorrelation in error
##     #########################
##     
##     #For each of observation
##     for(k in 1:Dates){
##       e[1:Plants,k] ~ dmnorm(zeros[],tauC[,])
##     }
##     
##     ##covariance among similiar species
##     for(i in 1:Plants){
##     for(j in 1:Plants){
##     C[i,j] = exp(-lambda_cov * D[i,j])
##     }
##     }
##     
##     ## Covert variance to precision for each parameter, allow omega to shrink to identity matrix
##     vCov = omega*C[,] + (1-omega) * I
##     tauC=inverse(vCov*gamma)
##     
##     #Priors
##     
##     #Species level priors
##     
##     for (j in 1:Plants){
##     
##     #Intercept
##     #Intercept flowering count
##     alpha[j] ~ dnorm(0,0.386)
##     
##     } 
##     
##     #Autocorrelation priors
##     gamma ~ dunif(0,20)
##     
##     #Strength of covariance decay
##     lambda_cov = 5
##     omega ~ dbeta(1,1)
##     }
##     ",fill=TRUE)
## 
## sink()
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 2926
##    Unobserved stochastic nodes: 3691
##    Total graph size: 31803
## 
## Initializing model

9 Get Chains

9.0.1 Evaluate convergence

9.0.2 Posterior estimates

9.1 Decay in trait attraction

9.2 Repulsion

## sink("model/occ_repulsion.jags")
## cat("
##     model {
##     
##     for (x in 1:Nobs){
##     
##     #Observation of a flowering plant
##     Y[x] ~ dbern(p[x])
##     logit(p[x]) <- alpha[Plant[x]] + e[Plant[x],Date[x]]
##     
##     #Residuals
##     discrepancy[x] <- pow(Y[x] - alpha[Plant[x]],2)
##     
##     #Assess Model Fit
##     Ynew[x] ~ dbern(p[x])
##     discrepancy.new[x]<-pow(Ynew[x] - alpha[Plant[x]],2)
##     
##     }
##     
##     #Sum discrepancy
##     fit<-sum(discrepancy)
##     fitnew<-sum(discrepancy.new)
##     
##     #Prediction
##     
##     for(i in 1:Npreds){
##     
##     #predict value
##     
##     #Observation - probability of flowering
##     prediction[i] ~ dbern(p_new[i])
##     logit(p_new[i])<-alpha[Ypred_plant[i]] + e[Ypred_plant[i],Ypred_date[i]]
##     
##     #squared predictive error
##     pred_error[i] <- pow(Ypred[i] - prediction[i],2)
##     }
##     
##     #Predictive Error
##     fitpred<-sum(pred_error)
##     
##     #########################
##     #autocorrelation in error
##     #########################
##     
##     #For each of observation
##     for(k in 1:Dates){
##     e[1:Plants,k] ~ dmnorm(zeros[],tauC[,])
##     }
##     
##     ##covariance among similiar species
##     for(i in 1:Plants){
##     for(j in 1:Plants){
##     C[i,j] = exp(-lambda_cov * D[i,j])
##     }
##     }
##     
##     ## Covert variance to precision for each parameter, allow omega to shrink to identity matrix
##     vCov = omega*C[,] + (1-omega) * I
##     tauC=vCov*gamma
##     
##     #Priors
##     
##     #Species level priors
##     
##     for (j in 1:Plants){
##     
##     #Intercept
##     #Intercept flowering count
##     alpha[j] ~ dnorm(0,0.386)
##     
##     } 
##     
##     #Autocorrelation priors
##     gamma ~ dunif(0,20)
##     
##     #Strength of covariance decay
##     lambda_cov = 5
##     omega ~ dbeta(1,1)
##     }
##     ",fill=TRUE)
## 
## sink()
## Compiling model graph
##    Resolving undeclared variables
##    Allocating nodes
## Graph information:
##    Observed stochastic nodes: 2926
##    Unobserved stochastic nodes: 3691
##    Total graph size: 31802
## 
## Initializing model

10 Get Chains

10.0.1 Evaluate convergence

10.0.2 Posterior estimates

10.1 Decay in trait repulsion

11 Model Comparison

11.1 Alpha

11.2 E: The effect of autocorrelation on mean flowering intensity

11.3 Omega: The magnitude of the effect of autocorrelation on mean flowering intensity

11.4 Gamma: The variance of the effect of autocorrelation on mean flowering intensity

11.5 Effect of autocorrelation

11.6 Decay in autocorrelation effect

12 Model Fit

12.1 Bayesian pvalue

## # A tibble: 5 x 2
##   Model                       p
##   <chr>                   <dbl>
## 1 baseline                0.456
## 2 phylogenetic_attraction 0.535
## 3 phylogenetic_repulsion  0.525
## 4 trait_attraction        0.551
## 5 trait_repulsion         0.494

12.2 Overall

12.3 By Species

Zoom in #Prediction

12.4 Out of sample data